package com.edais.persistence;

import com.edais.domain.*;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface CenterMapper {


	/**
	 * 实名认证
	 * 
	 * @return
	 */
	void modifyUserInfoCd(@Param("birth") Date birth,
			@Param("gender") String gender, @Param("idcard") String IdCard,
			@Param("realname") String RealName, @Param("id") int id);


	/**
	 * 理财计划
	 * 
	 * @return List<Finance>
	 */
	Finance getFinanceDetail(@Param("id") String id,@Param("enableBuy") String enableBuy);

	/**
	 * 获取用户已绑定的银行卡信息
	 * 
	 * @return List<UserBankCard>
	 */
	List<UserBankCard> getBoundedUserBankCard(@Param("userID") String userID,
			@Param("tenable") String tenable, @Param("benable") String benable,
			@Param("type") String type);


	/**
	 * 查询回款卡号
	 * 
	 * @return List<UserBankCard>
	 */
	List<UserRecePayCard> getRecePayBank(Map<String,Object> map);

	/**
	 * 查询路由
	 * @param map	参数
	 * @return			集合
	 */
	ThirdProductRoute getRouteBankByCode(Map<String,Object> map);

	/**
	 * 查询招标中鼓钱包标的总数
	 * 
	 * @return List<UserBankCard>
	 */
	String getReadyLoanTotalNum(@Param("loanStatus") String loanStatus,
			@Param("loanType") String loanType);
	
	/**
	 * 查询招标中鼓钱包标的列表
	 * 
	 * @return List<Loan>
	 */
	List<Loan> getReadyLoan(@Param("loanStatus") String loanStatus,
			@Param("loanType") String loanType,@Param("rowBegin") String rowBegin,
			@Param("rowEnd") String rowEnd);

	/**
	 * 充值订单生成
	 * @return 
	 * 
	 * @return void
	 */
	void createRechargeOrder(OrderFormRecharge orderFormRecharge);
	
	/**
	 * 获取SEQ_CYCLE_ORDER_NO的seq值
	 *  
	 * 
	 * @return int
	 */
	int getSeqCycleOrderNo();
	/**
	 * 根据订单号取得用户充值的基本信息
	 * 
	 * 
	 * */
	OrderFormRecharge selectOrderFromRechargeByOrderId(String orderId);
	/**
	 * 更新充值订单状态
	 * 
	 * 
	 * */
	int updateOrderFromRecharge(OrderFormRecharge orderFormRecharge);
	
	String[] getCycleMatchType(String planId);
	/**
	 * 获取用户绑定的邀请码相关信息
	 * */
	List<Map<String, String>> getInviteCodeMsg(String userID);
	
	/**
	 * 查询该债权的具体信息
	 * @param map
	 * @return
	 */
	Map<String,Object> checkLoanStatus(Map<String,Object> map);
	
	/**
	 * 根据用户ID查询用户最新一笔订单
	 * @param map
	 * @return
	 */
	OrderFormRecharge getUserNewestOrderForm(Map<String,Object> map);
	/**
	 * 获取资产包的数量
	 * @param financeID
	 * @param enableBuy
	 * @return
	 */
	int getCountLoan(String financeID);

	/**
	 * 获取资产包的起投金额,剩余金额
	 * @param financeID
	 * @param enableBuy
	 * @return
	 */
	Map<String, Object> getDepositGetDetail(String financeID);
	
	
	/**
	 * 更新充值订单核心状态
	 * @param orderFormRecharge
	 */
	int updateOrderFromRechargeCoreStatus(OrderFormRecharge orderFormRecharge);


	Map<String, Object> getAgrnoAndAssno(Integer bidId);
	
	/**
	 * 查询充值备注根据充值订单的id
	 * @author rxc
	 * @param applyId
	 * @return
	 */
	String getRemarkByapplyId (@Param("applyId")Integer applyId);

}
